package pruebasUnitarias;

import java.util.ArrayList;

import junit.framework.TestCase;
import tablero.Posicion;
import ataques.Disparo;
import ataques.MinaSimple;
import barco.Componente;
import barco.ComponenteInmuneAMina;
import barco.Destructor;
import barco.Direccion;

public class DestructorTest extends TestCase {

    public void testDestructorDeberiaTenerDosPartesRestantesAlRecibirUnDisparo() {
        Destructor destructor = new Destructor(Direccion.DERECHA);
        ArrayList<Componente> partesDestructor = destructor.getPartes();
        Componente componente = partesDestructor.get(0);
        Disparo disparo = new Disparo(new Posicion(1, 1));
        componente.recibirAtaque(disparo);
        assertEquals(destructor.cantPartesRestantes(), 2);
    }

    public void testDestructorDeberiaTenerTresPartesRestantesAlRecibirUnaMina() {
        Destructor destructor = new Destructor(Direccion.DERECHA);
        ArrayList<Componente> partesDestructor = destructor.getPartes();
        ComponenteInmuneAMina componenteInmuneAMina = (ComponenteInmuneAMina) partesDestructor.get(0);
        MinaSimple mina = new MinaSimple(new Posicion(1, 1));
        componenteInmuneAMina.recibirAtaque(mina);
        assertEquals(destructor.cantPartesRestantes(), 3);
    }

}
